#include <iostream>

using namespace std;

int main()
{
    string a;
    setlocale(LC_ALL, "rus");
    cout << "Введите строку: " << endl;
    getline(cin, a);

    if (a.empty() || a.find(' ') == string::npos)
    {
        cout << "Мало данных для анализа" << endl;
        return 0;
    }

    int h = 0, j = 0, p = 0, y = 0;
    int q = 0;
    int zxcc = 0;
    int h2=0;
    string zxc;

    while ((q = a.find(' ')) != string::npos)
    {
        h++;
        string slovo = a.substr(0, q);

        if (slovo.length() > zxcc)
        {
            zxcc = slovo.length();
            zxc = slovo;
        }

        if (iswupper(slovo[0]) && iswalpha(slovo[0]))
        {
            j++;
        }

        if (slovo.find_first_of("qwertyuioplkjhgfdsazxcvbnmQWERTYUIOPLKJHGFDSAZXCVBNM") != string::npos)
        {
            p++;
        }

        if (slovo.size() <= 3)
        {
            y++;
        }

        a.erase(0, q + 1);
        q = 0;
    }
    h++;
    string endslovo = a;

    if (endslovo.length() > zxcc)
    {
        zxcc = endslovo.length();
        zxc = endslovo;
    }

    if (iswupper(endslovo[0]) && iswalpha(endslovo[0]))
    {
        j++;
    }


    if (endslovo.find_first_of("qwertyuioplkjhgfdsazxcvbnmQWERTYUIOPLKJHGFDSAZXCVBNM") != string::npos)
    {
        p++;
    }

    if (endslovo.size() <= 3)
    {
        y++;
    }

    cout << "Количество слов:                      " << h << endl;
    cout << "Количество заглавных букв кириллицей: " << j << endl;
    cout << "Количество слов с латинской буквой:   " << p << endl;
    cout << "Количество слов из трех и менее букв: " << y << endl;
    cout << "Самое длинное слово: "<<zxc << endl;
    cout << "Его длина: "<<zxcc<<endl;
    cout << "Кол-во слов в составе которых имеется дефис: "<<h2<<endl;

    return 0;
}
